﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Medianamik.UI.ImportExportManagement
{
    public abstract class DataSource<TType, TTypeProperty, TRecord, TRecordProperty>
    {
        public abstract IEnumerable<TType> GetRecordTypes();
        public abstract IEnumerable<TRecord> GetRecordsByType(IEnumerable<RecordType> recordTypes);
        public abstract IEnumerable<TTypeProperty> GetRecordTypePropertiesByType(TType type);
        public abstract IEnumerable<TRecordProperty> GetRecordPropertiesByRecord(TRecord record);
    }
}
